Systems and Methods for Communicating Using Random Codewords Located Within a Restricted Subset of a Multi-dimensional Sphere

ABSTRACT

Communication systems and methods in accordance with various embodiments of the invention employ a rateless coding strategy in which an encoder utilizes codewords located within a restricted subset of a multi-dimensional sphere. In one embodiment, a transmitter is configured to encode message data as symbols using a rateless code until an end of epoch message is received, where the rateless code comprises a set of codewords characterized in that they are located within a restricted subset of a multi-dimensional sphere. A receiver receives observed symbols and at each of a predetermined set of decode times, determines whether a decoding rule is satisfied. When the decoding rule is satisfied, the receiver decodes at least one message using the rateless code and transmits an end of epoch message.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present invention claims priority to U.S. Provisional Patent Application Ser. No. 62/959,683 entitled “Gaussian Multiple and Random Access in the Finite Blocklength Regime” to Yavas et al., filed Jan. 10, 2020, the disclosures of which is herein incorporated by reference in its entirety.

STATEMENT OF FEDERALLY SPONSORED RESEARCH

This invention was made with government support under Grant No. CCF1817241 awarded by the National Science Foundation. The government has certain rights in the invention.

FIELD OF THE INVENTION

The present invention relates generally to communication systems and more specifically to communication systems capable of communicating via Gaussian point-to-point, fading point-to-point, Gaussian Multiple Access Channels (MAC), Gaussian Random Access Channels (RAC), Fading MACs, and Fading RACs.

BACKGROUND

Emerging communication systems such as the Internet of Things, wireless cellular networks, and machine-to-machine communication systems impose two significant requirements on the code design: low latency constraints and random activity involving a large number of communicating devices. Investigators have studied random access channels in the finite blocklength regime, where an unknown number of transmitters is active, and communication delay is finite.

Current random access strategies mostly use either orthogonalization (TDMA, FDMA, and CDMA) or collision avoidance (e.g., slotted ALOHA). Orthogonalization methods divide up resources (e.g., time, frequency, or signals) among the transmitters. In slotted ALOHA, each transmitter randomly chooses a time slot to transmit its message, and the decoder declares an error if two or more transmitters are active in a time slot. For example, slotted ALOHA achieves only 37% of the single-transmitter capacity.

For a single transmitter, the capacity of a Gaussian channel is

C(P)=½ log(1+P)  (1)

using codewords with symbols drawn independently and identically distributed (i.i.d.) according to the Gaussian distribution with variance P−δ for a very small value δ; where P is the maximal (per-codeword) power constraint, and the noise variance is 1.

In Claude Shannon, Probability of error for optimal codes in a Gaussian channel, Bell System Technical Journal, 38 (3), pp. 611-656, Shannon shows the performance improvement in the achievable reliability function using codewords drawn uniformly at random on an n-dimensional sphere of radius √{square root over (nP)} and a maximum likelihood decoder.

In Vincent Yan Fu Tan, and Marco Tomamichel, The third-order term in the normal approximation for the AWGN channel, IEEE Transactions on Information Theory 61.5 (2015), 2430-2438, Tan and Tomamichel use the same distribution and decoder to prove the achievability of a maximal rate of

$\begin{matrix} {{C(P)} - {\sqrt{\frac{V(P)}{n}}{Q^{- 1}(\epsilon)}} + {\frac{1}{2}\frac{\log\mspace{11mu} n}{n}} + {O\left( \frac{1}{n} \right)}} & (2) \end{matrix}$

under blocklength n and average error probability ϵ, where

$\begin{matrix} {{V(P)} = \frac{P\left( {P + 2} \right)}{2\left( {1 + P} \right)^{2}}} & (3) \end{matrix}$

is the dispersion of the point-to-point Gaussian channel.

The first- and second-order terms in (2) remain the same under maximal-error and both maximal- and average-power constraints across codewords; they differ under average-error and average-power constraints.

Extending the asymptotic expansion in (2) to a Gaussian MAC, in which multiple transmitters communicate independent messages to a single receiver over a Gaussian channel with blocklength n, is not trivial. The result in (2) can be generalized to the two-transmitter MAC, bounding the achievable rate as a function of the 3×3 dispersion matrix V(P₁,P₂), an analogue of V(P) assuming transmitters with per-codeword power constraints P₁ and P₂.

SUMMARY OF THE INVENTION

Communication systems and methods in accordance with various embodiments of the invention can be utilized within a communication scenario where K transmitters are communicating with a single receiver through a Gaussian channel or a Fading channel. In several embodiments, the communication system can be a point-to-point communication system. In a number of embodiments, the communication system is a multiple access communication system in which the identity of active transmitters is known to all transmitters and to the receiver. In certain embodiments, the communication system is a random access communication system in which the set of active transmitters is typically unknown to the transmitters and to the receiver. In many embodiments, a rateless coding strategy is utilized within the communication system in which each encoder utilizes codewords on a restricted subset of a multi-dimensional sphere. In several embodiments, the restricted subset includes codewords that are either on a subset of the surface of the multi-dimensional sphere or close to the subset of the surface of multi-dimensional sphere. In a number of embodiments, at least some of the codewords are on a subset of the surface of the multi-dimensional sphere. In certain embodiments, all codewords are on a subset of the surface of the multi-dimensional sphere. In other embodiments, each encoder utilizes codewords from some internal portion of the sphere close to its surface (e.g., on the surface of a smaller sphere inside the power sphere). In many embodiments, different encoders choose their codewords dependently.

One embodiment of a communication system includes a plurality of transmitters that each have an encoder, where the encoder of a given transmitter is configured to: receive a start of epoch message; encode message data as symbols using a rateless code comprising a set of codewords characterized in that they are located within a restricted subset of a multi-dimensional sphere; and receive feedback messages at a predetermined set of potential decoding times. In addition, the transmitter is configured to transmit symbols until a received feedback message is an end of epoch message. The communication system also includes a receiver comprising a decoder, where the decoder is configured to: cause a broadcast transmitter to transmit at least one start of epoch message; receive observed symbols; and at each of a predetermined set of decode times, determine whether a decoding rule is satisfied. In addition, when the decoding rule is satisfied the receiver is configured to: decode at least one message based upon the received observed symbols based upon the rateless code; and cause the broadcast transmitter to transmit an end of epoch message.

In a further embodiment, the restricted subset of the multi-dimensional sphere includes a subset of a surface of the multi-dimensional sphere and an internal portion of the multi-dimensional sphere proximate the subset of the surface of the multi-dimensional sphere.

In another embodiment, the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere.

In a still further embodiment, the determination of whether a decoding rule is satisfied is based upon the received observed symbols.

In a still further embodiment, the decoding rule combines a threshold rule based on the total received power and a maximum likelihood decoding rule.

In still another embodiment, the codewords located within the restricted subset of the multi-dimensional sphere include a number of codewords M of blocklength n_(K), and the multi-dimensional sphere is characterized by a radius equal to √{square root over (n_(K)P)}.

In a yet further embodiment, the codewords located within the restricted subset of the multi-dimensional sphere comprise a number of codewords M of blocklength n_(K) that are each concatenated from sub-codewords of blocklengths n₁, n₂−n₁, . . . , n_(K)−n_(K−1); and each of the sub-codewords of blocklengths n₁, n₂−₁, n_(K)−n_(K−1) is characterized in that sub-codewords of blocklengths n_(i)−n_(i−1) lie on a restricted subset of a multi-dimensional sphere of radius √{square root over ((n_(i)−n_(i−1))P)}.

In yet another embodiment, the codewords located within the restricted subset of the multi-dimensional sphere are further characterized in that, when k transmitters from the plurality of transmitters are active, codewords of blocklength n_(k) formed from concatenating the sub-codewords of blocklengths n₁, n₂−n₁, . . . , n_(k)−n_(k−1) are located within a restricted subset of a multi-dimensional sphere √{square root over (n_(k)P)}.

In a further embodiment again, multiple transmitters in the plurality of transmitters are configured to select the same rateless code to use in the encoding of message data as symbols.

In another embodiment again, at least two of the plurality of transmitters are configured to select different rateless codes to use in the encoding of message data as symbols.

In a further additional embodiment, the receiver is configured to apply decoding rules at separate predetermined times with respect to each of the different codebooks.

In another additional embodiment, the broadcast transmitter is configured to send a negative feedback message when the decoding rule is not satisfied at a predetermined decode time.

In a still yet further embodiment, the encoder is configured to continue to encode message data as symbols using the rateless code in response to receipt of a negative feedback message.

In still yet another embodiment, the receiver is further configured to measure characteristics of the channel and select the predetermined set of decoding times based upon the measured channel characteristics.

A transmitter in accordance with a still further embodiment again includes: a receiver configured to receive a start of epoch message; an encoder configured to encode message data as symbols using a rateless code including a set of codewords characterized in that they are located within a restricted subset of a multi-dimensional sphere; and a modulator configured to transmit symbols encoded by the encoder. In addition, the receiver is further configured to receive an end of epoch message at one of a predetermined set of times; and the modulator is configured to transmit symbols encoded by the encoder until an end of epoch message is received by the receiver.

In still another embodiment again, the encoder is configured to continue to encode message data as symbols using the rateless code in response to receipt of a negative feedback message.

In a still further additional embodiment, the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere and an internal portion of the multi-dimensional sphere proximate the subset of the surface of the multi-dimensional sphere.

In still another additional embodiment, the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere.

A receiver in accordance with a yet further embodiment again includes: a decoder configured to select at least one codebook; a transmitter configured to transmit at least one start of epoch message; and a receiver configured to receive observed symbols. In addition, the decoder is further configured to determine whether a decoding rule is satisfied at each of a predetermined set of decode times, and when the decoding rule is satisfied: decode at least one message based upon the received observed symbols based upon a rateless code comprising a set of codewords characterized in that they are located within a restricted subset of a multi-dimensional sphere, and cause the transmitter to transmit an end of epoch message.

In yet another embodiment again, the determination of whether a decoding rule is satisfied is based upon the received observed symbols.

In a yet further additional embodiment, the decoding rule combines a threshold rule based on the total received power and a maximum likelihood decoding rule.

In yet another additional embodiment, the broadcast transmitter sends a negative feedback message when the decoding rule is not satisfied at a predetermined decode time.

In a further additional embodiment again, the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere and an internal portion of the multi-dimensional sphere proximate the subset of the surface of the multi-dimensional sphere.

In another additional embodiment again, the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 conceptually illustrates a receiver configured to control the transmission of transmitters during epochs defined by the receiver in accordance with an embodiment of the invention.

FIG. 2 is a flow chart illustrating a process for transmitting data using a rateless code on a MAC and/or RAC during epochs defined by a receiver in accordance with an embodiment of the invention.

FIG. 3 is a flow chart illustrating a process for detecting whether one or more transmitters are active and/or decoding data transmitted by the one or more active transmitters via a MAC and/or RAC in accordance with an embodiment of the invention.

FIG. 4 conceptually illustrates the restricted subset of the surface of a multi-dimensional sphere that the codewords lie on in accordance with an embodiment of the invention.

DETAILED DESCRIPTION

Turning now to the drawings, communication system and methods in accordance with various embodiments of the invention are illustrated that can be utilized within a communication scenario where K transmitters are communicating with a single receiver through a Gaussian channel or a Fading channel. In several embodiments, the communication system can be a point-to-point communication system and the transmitter transmits using a rateless code for a predetermined epoch or until a receiver provides a feedback message indicating the end of an epoch and that the message was successfully decoded. In multiple access communication systems, the identity of active transmitters is typically known to all transmitters and to the receiver. In random access communication systems, the set of active transmitters is typically unknown to the transmitters and to the receiver. Both the MAC and RAC channels are characterized in that multiple transmitters can transmit simultaneously on the same channel (colliding with each other) and a receiver can decode the messages being transmitted by each of the transmitters (despite the messages being transmitted simultaneously).

In a number of embodiments, a rateless coding strategy is utilized within the communication system in which each encoder utilizes codewords on a restricted subset of a multi-dimensional sphere. In several embodiments, the restricted subset includes codewords that are either on a subset of the surface of the multi-dimensional sphere or close to the subset of the surface of multi-dimensional sphere. In a number of embodiments, at least some of the codewords are on a subset of the surface of the multi-dimensional sphere. In certain embodiments, all codewords are on a subset of the surface of the multi-dimensional sphere. In other embodiments, each encoder utilizes codewords from some internal portion of the sphere close to its surface (e.g., on the surface of a smaller sphere inside the power sphere). In many embodiments, different encoders choose their codewords dependently.

In several embodiments, the decoder attempts to decode only at a finite set of decoding times. At each decoding time within the set of decoding times, in some embodiments, the receiver broadcasts the acknowledgment to one or more transmitters indicating whether or not a transmitter can cease transmitting the message being transmitting using a rateless code. When employed in Fading channels, receivers in accordance with many embodiments of the invention estimate channel characteristics (e.g., fading coefficients) and utilize these estimates to determine appropriate codebooks and/or decoding times. In several embodiments, the receiver can transmit messages to the encoders indicating an appropriate codebook(s) and/or a set of decoding times. In certain embodiments, the receiver employs a maximum likelihood decoder to perform decoding. The term maximum likelihood decoder is typically utilized to describe a decoder that performs decoding based upon selecting the received codeword(s) that are the highest probability to have been transmitted given the signal that was received. In several embodiments, the receiver employs other decoding rules such as a single threshold rule or multiple simultaneous threshold rules. In point-to-point communication systems, the transmitter and receiver can also agree in advance on the duration of the epoch and coordinate changes in the duration of an epoch from one epoch to the next to achieve adaptive coding and modulation using the rateless code. In several embodiments, the duration of a specific epoch within a point-to-point communication is unknown at the start of the epoch and determined by the receiver based upon received symbols using one or more decoding rules.

Systems and methods in accordance with many embodiments of the invention utilize this new coding scheme to communicate via a Gaussian RAC in a manner that provides superior performance compared to prior uses of rateless codes. Use of rateless codes to communicate in a random MAC is described in Michelle Effros, Kostina Victoria, and Recep Can Yavas, Random access channel coding in the finite blocklength regime, 2018 IEEE International Symposium on Information Theory (ISIT) and Recep Can Yavas, Victoria Kostina and Michelle Effros, Random access channel coding in the finite blocklength regime, in IEEE Transactions on Information Theory, doi: 10.1109/TIT.2020.3047630, the disclosure of which including the disclosure of rateless codes and their use in communicating via RACs is hereby incorporated by reference in its entirety.

In a number of embodiments, one or more transmitters and a receiver utilize codewords obtained by concatenating K sub-codewords of blocklengths n₁, n₂−n₁, . . . , n_(K)−n_(K−1), each lies on or near a subset of a surface of a sphere of radius √{square root over ((n_(i)−n_(i−1))P)}. In RAC communication systems where k transmitters are active, the resulting codewords are located within a restricted subset of the sphere of radius √{square root over (n_(k)P)}. In several embodiments, the sub-codewords of blocklengths n₁, n₂−n₁, . . . , n_(K)−n_(K−1) are located within a restricted subset of, or in some internal portion of a sphere of radius √{square root over ((n_(i)−n_(i−1))P)}. The receiver can use output typicality to determine the number of transmitters and then can apply a maximum likelihood decoder. In a number of embodiments, receivers combine maximum likelihood decoding with a single threshold test based on the received power to decode messages from an unknown number of active transmitters.

In several embodiments, an encoder employ random coding. The random codewords are generated by concatenating K sub-codewords of blocklengths n₁, n₂−n₁, . . . , n_(K)−n_(K−1), each drawn from a uniform distribution on the surface of a sphere of radius √{square root over ((n_(i)−n_(i−1))P)}. When k transmitters are active, the resulting codewords can be uniformly distributed on a restricted subset of the surface of a sphere of radius √{square root over (n_(k)P)}. In some embodiments, the codewords are distributed uniformly or non-uniformly on a subset of the sphere or on a subset of the internal portion of the sphere (e.g., a smaller sphere inside the power sphere). In several embodiments, the portions of the codewords (i.e., the sub-codewords of sizes n₁,n₂−n₁, . . . ) are drawn according to dependent distributions. In many embodiments, the codewords are drawn from a subset of the surface of the sphere, and/or each sub-codeword is drawn according to a conditional distribution that depends on the values of the symbols in the prior sub-codewords. For example, for any subset of the surface of the K-dimensional power sphere for which the maximal power constraint is satisfied for decoding times n₁, . . . , n_(K), a uniform distribution on that subset can be achieved by an appropriate choice of the conditional distributions from which the sub-codewords are drawn.

In a number of embodiments, the receiver broadcasts a feedback message (e.g., a single bit) to all transmitters at each potential decoding time, indicating whether or not it is ready to decode. In several embodiments, a decoding rule is utilized by the decoder that combines a threshold rule based on the total received power and a maximum likelihood decoder. As is discussed below, communication systems that employ the rateless Gaussian RAC codes described herein can achieve the same performance up to a third-order term as the best known codes for the Gaussian MAC.

In several embodiments, a communication system capable of communicating via a RAC can achieve additional efficiency gains by detecting early within a time epoch that an unusually large number of transmitters have commenced simultaneously transmitting. Instead of requiring all transmitters to continue to transmit with a long blocklength, the receiver can transmit a feedback message ending the epoch and indicating to one or more of the transmitters that they should wait a period of time before attempting to re-transmit. In several embodiments, the period of time that a transmitter waits before attempting to retry transmitting its message can be a number of time epochs specified by the transmitter. In certain embodiments, the period of time can be a random number of time epochs determined by the transmitter.

Systems and methods in accordance with various embodiments of the invention can also be utilized to communicate via point-to-point fading channels and/or the fading RAC. When communicating via the fading RAC, communication systems in accordance with many embodiments of the invention estimate channel characteristics and determine decoding times based upon the estimated channel characteristics. While the discussion herein focuses on Gaussian and fading channels with maximal-power and average-error constraints, the systems and methods described herein may be useful beyond these exemplary channel and communication scenarios. As can be readily appreciated, the specific manner in which data is encoded and decoded when communicating on MACs and/or RACs is largely dependent upon the requirements of specific applications. Communication systems and methods in accordance with various embodiments of the invention are discussed further below.

Systems and Methods for Communicating Using Rateless Codes

A receiver configured to control the transmission of transmitters during epochs defined by the receiver in accordance with an embodiment of the invention is conceptually illustrated in FIG. 1. The communication system 100 includes at least one transmitter, and each transmitter includes an encoder 102. Each transmitter that has message data to transmit can choose to become active during any given epoch. Where only one transmitter is present, the communication system is a point-to-point communication system. When multiple transmitters are present, the communication system can act as a MAC and/or RAC communication system in which multiple transmitters can simultaneously transmit on a shared communication channel. When a transmitter is active, the transmitter can provide a sequence of message bits to a rateless encoder 102, which generates a sequence of output symbols that are transmitted over a channel 104. When multiple transmitters are active, the active transmitters simultaneously transmit over the channel 104 to a receiver. As discussed above, the use of rateless codes enables the receiver to continue to receive symbols (i.e., extend the duration of a particular epoch) until the receiver's decoder 106 has observed enough symbols to decode the transmitted messages with high probability. In many embodiments, the decoder employs a decoding rule that is applied at a predetermined set of potential decoding times. In several embodiments, each potential decoding time in the set of potential decoding times corresponds to a number of symbols determined to be required for the decoder to be able to decode messages from a specific number of transmitters. In certain embodiments, application of the decoding rule essentially involves attempting to decode a number of messages at each potential decoding time, which indirectly provides an estimate of the number of transmitters that are active during an epoch. Based upon the decoding rule, the decoder can attempt decoding at each subsequent decoding time in the set of potential decoding times. It chooses the first decoding time from that set for which it finds a collection of messages consistent with its received symbols and with the activity set or sets corresponding to that decoding time. As noted above, the receiver can also utilize a criterion to detect that an unusually large number of transmitters are transmitting. In which case, the receiver can send a feedback message ending the epoch and directing that transmitters wait a period of time (e.g., a random number of epochs) before attempting to retry transmitting a message.

As noted above, the receiver need not continuously transmit its decoding state to the transmitters. In a number of embodiments, the transmitters and the receiver establish a set of potential decoding times and the receiver sends a negative or positive feedback message, at each potential decoding time indicating whether the receiver requires more symbols to be able to decode the messages with a high probability (i.e., a negative feedback message’) or whether the receiver has received enough symbols and has decided to decode the messages and start a new epoch (i.e., a positive feedback message). In a number of embodiments, a feedback bit ‘0’ is utilized to send a negative feedback message, and a feedback bit ‘1’ is utilized to send a positive feedback message.

In many embodiments, the set of potential decoding times is determined based upon channel conditions. As the channel deteriorates and/or experiences fading, the receiver can adapt and choose a set of potential decoding times where the number of symbols required to be received during an epoch for a given estimated number of transmitters increases. In several embodiments, the decoder can first attempt to estimate the channel conditions and then determine a codebook and/or appropriate decoding times, which can be communicated to the transmitters. When the channel improves/changes the receiver can adapt to a set of potential decoding times in which the number of symbols required to be received for a given estimated number of transmitters decreases. In several embodiments where the channel behaviour is changing sufficiently slowly, the receiver estimates the channel parameters after some fixed period and broadcasts these estimates to the transmitters at the end of that fixed period. In many embodiments, transmitters would know when to listen for this feedback signal and also how to calculate the potential decoding tines using that feedback. In other embodiments where the channel behavior is changing more quickly, the receiver sends the updated estimates of the channel parameters and/or updated next feedback times at each time feedback is sent (e.g., at each potential decoding time). In a number of embodiments, the receiver adapts the set of potential decoding times utilized during a particular epoch based upon a measurement of channel conditions including (but not limited to) channel noise and/or fading coefficients. In several embodiments, the receiver periodically signals a guard interval in which transmitters are required to cease activity. During this guard interval, the receiver can measure channel noise and determine an appropriate set of potential decoding times. In a number of embodiments, transmitters transmit a pilot sequence and the receiver can use this known sequence to estimate the fading characteristics of the channel. The receiver can then broadcast the set of potential decoding times and/or an identifier of the set of potential decoding times to the transmitters and can initiate the next epoch via a positive feedback message. The transmitters can then monitor the feedback channel for negative and positive feedback messages based upon the set of potential decoding times communicated by the receiver. Although specific methods are described for adapting between different sets of potential decoding times, it can readily be appreciated that any of a variety of techniques can be utilized for determining an appropriate set of decode times for a given set of channel conditions and coordinating the adoption of such a set of decode times by the receiver and transmitters in accordance with various embodiments of the invention.

In a number of embodiments, all transmitters use the same encoder 102 and the receiver broadcasts an indication of a particular codebook to use in a given epoch. In several embodiments, the transmitters are able to use different codebooks. Using different codebooks can enable the decoder to identify the transmitter that transmitted a specific message decoded by the decoder 106. Using different codebooks can also enable the encoders to transmit different numbers of messages and attain different rates. When transmitters encode using different encoders, the receiver can transmit information indicating the specific codebook to be used by a particular encoder at the start of a particular epoch. The receiver can then utilize knowledge of the different codebooks in the decoding of the transmitted messages from the observed symbols.

Although specific communication systems are described above with reference to FIG. 1, any of a variety of transmitters and receivers that employ the rateless codes described herein can be utilized to transmit data over a MAC and/or RAC channel as appropriate to the requirements of a given application in accordance with various embodiments of the invention. Indeed, communication systems in accordance with various embodiments of the invention are in no way limited to any particular communication medium, spectral band, and/or modulation or demodulation scheme. Symbols encoded in accordance with various embodiments of the invention can be transmitted using any number of different modulation schemes appropriate to the requirements of a given application and/or can employ additional outer codes to correct bit errors in the messages decoded by the receiver. The transmitters and receivers described herein should be understood as being capable of being deployed in any communication system in which an unknown number of transmitters utilize a shared channel to communicate with a receiver. A number of specific encoding and decoding processes in accordance with different embodiments of the invention are discussed below.

Processes for Encoding Data for Transmission

Transmitters in accordance with various embodiments of the invention are configured to wait to transmit data until the start of an epoch and then transmit data throughout the epoch while listening periodically for a positive feedback message that indicates the end of the epoch. In many embodiments, the end of the epoch can be agreed upon from one epoch to the next by one or more transmitters and a receiver. In several embodiments, a transmitter can determine the end of the epoch by listening periodically for a positive feedback message that indicates the end of the epoch. As discussed above, in many embodiments of the invention, the codebook selected for the rateless code is coordinated with the receiver and includes codewords characterized in that they are located within a restricted subset of a multi-dimensional sphere. In several embodiments, the restricted subset includes a subset of the surface of the multi-dimensional sphere and a region proximate the subset of the surface of the multi-dimensional sphere. In many embodiments, the restricted subset is a subset of the surface of the multi-dimensional sphere. In other embodiments, the codewords lie within an internal portion of a smaller multi-dimensional sphere (e.g., a smaller sphere inside the power sphere). In several embodiments, transmitters choose their codewords dependently. In many embodiments, the transmitter monitors a feedback channel for a transmission from a receiver containing a codebook and/or an identifier for a codebook to be utilized within a specified (e.g., the next) epoch.

A process for transmitting data using a rateless code oi a MAC and/or RAC during epochs defined by a receiver in accordance with an embodiment of the invention is illustrated in FIG. 2. The process 200 involves the transmitter determining 202 whether or not to become active during the next epoch. When the transmitter wishes to transmit, the transmitter commences monitoring 204 a feedback channel to determine 206 whether tie receiver has broadcast a positive feedback message indicating the start time of the next epoch. As noted above, in many embodiments of the invention the receiver is limited to only transmitting feedback messages at a set of times (e.g., the set of potential decoding times) that are known to the transmitter. Accordingly, the transmitter may only monitor the feedback channel at those specific set of times until a positive feedback is received.

The transmitter selects 208 a block of message data to transmit and a codebook to use to encode the message data using a rateless code. In many embodiments, the codebook utilized is a codebook indicated by a receiver that includes codewords in which the codewords are located within a restricted subset of a multi-dimensional sphere. In many embodiments, the codebook constitutes a common randomness between the transmitter and the receiver. In other embodiments, there is only one codebook, and that same codebook is always used to encode the message data using a rateless code. In certain embodiments, the codebook is the same for every transmitter. In many embodiments, the codebook is specific to the transmitter. In order to encode the message data, the transmitter can also reset a clock that is used to count the number of transmitted symbols and a counter that is used to index into the set of potential decoding times. As noted above, in some embodiments, the counter can be considered to correspond to a number of active transmitters.

The transmitter transmits 210 the symbols generated by the rateless code based upon the block of message bits and with each transmitted symbols checks 212 to see whether the number of transmitted symbols corresponds to one of the potential decoding times in the set of potential decoding times. If not, then the transmitter increments 214 the clock. When the number of transmitted symbols corresponds to a potential decoding time from the set of potential decoding times, the transmitter listens 216 for an acknowledgment feedback from the receiver. When a determination 218 is made that the acknowledgment message is a negative feedback message, then the transmitter increments the clock and the counter. The transmitter continues to transmit symbols generated by the rateless code until a determination 218 is made that a positive feedback message is received. At which point the epoch is over and the transmitter determines 222 whether additional message data is available for transmission and 202 whether the transmitter wishes to be active during the next epoch. When no more message data is available for transmission, the process can complete.

Although specific processes for transmitting data are described above with reference to FIG. 2, any of a variety of processes can be utilized to transmit data as appropriate to the requirements of specific applications in accordance with various embodiments of the invention. While various embodiments of the invention are not limited to transmission via the MAC or RAC and can include transmission via point-to-point channels, communication via Gaussian and fading MACs and RACs are particularly interesting applications having the potential to significantly expand the capabilities of conventional communication systems by allowing receivers to receive data from multiple transmitters that are simultaneously transmitting on the same communication channel. Accordingly, processes for receiving and decoding data transmitted by an unknown number of transmitters via MACs and RACs in accordance with a number of embodiments of the invention are discussed below.

Processes for Decoding Data Transmitted by an Unknown Number of Transmitters

Receivers in accordance with various embodiments of the invention are configured to receive data transmitted by an unknown number of transmitters and encoded by rateless codes. In some embodiments, these rateless codes are based upon codewords located within a restricted subset of a multi-dimensional sphere. In several embodiments, these rateless codes are fixed. In order to be effective, the receiver must permit the transmitters to transmits symbols for a period of time that is sufficiently long to enable decoding of the transmitted messages with high probability. However, permitting the transmitters to transmit more symbols beyond this required blocklength decreases the rate of the transmitters below capacity of the channel. Accordingly, receivers in accordance with many embodiments of the invention employ decoding rules to determine when a sufficient number of symbols are received to decode the transmitted messages with high probability. In a number of embodiments, a separate potential decoding time is determined for each possible number of active transmitters, and the receiver applies a decoding rule at the each of the potential decoding times to determine whether the transmitted messages can be decoded. In this way, the decoding rule effectively constitutes an attempt to estimate the number of active transmitters. As is discussed below, communication systems in accordance with many embodiments of the invention utilize transmitters that share a common encoder to reduce implementation complexity. In several embodiments, simplicity is traded off for the ability of the receiver to identify the specific messages transmitted by individual transmitters. In a number of embodiments, the receiver can assign a codebook that is specific to a given transmitter to enable identification of the messages transmitted by the transmitter.

The implementation of receivers in accordance with various embodiments of the invention can be influenced by the manner in which the receiver manages the case in which no transmitters are transmitting. The sooner the receiver ends an epoch in which no transmitters are transmitting, the higher the rate achieved across the channel. In a number of embodiments, receivers employ a separate process to determine whether transmitters are active and the receiver simply commences decoding when the receiver knows that transmitters are active. In other embodiments, the receiver incorporates a decoding rule that determines whether any transmitters are active prior to the first potential decoding time period.

A process for detecting whether one or more transmitters are active and/or decoding data transmitted by the one or more active transmitters via a MAC and/or RAC in accordance with an embodiment of the invention is illustrated in FIG. 3. The process 300 commences when the receiver broadcasts 302 a positive feedback message to the transmitters indicating the commencement of an epoch. The positive feedback message can be accompanied by a message indicating one or more codebooks that should be utilized by one, some, or all of the transmitters to encode message data using rateless codes during the epoch.

As part of a process of receiving and decoding symbols, the receiver can initialize a clock that is used to count the number of received symbols and a counter that is used to index into the set of potential decoding times. As noted above, in some embodiments, the counter can be considered to correspond to a number of active transmitters. When a receiver determines the estimated number of active transmitters, the receiver can transmit a positive feedback message indicating the end of the epoch. In other embodiments, the counter can be considered an index identifying a specific subset of distinct encoders. When a receiver determines that the counter specifies the estimated set of active transmitters and the time equals the time for decoding that number of active encoders, the receiver will transmit a positive feedback message indicating the end of the epoch.

After the receiver commences receiving observed symbols, the receiver determines 302 whether the number of received symbols corresponds to the potential decoding time indicated by the counter. When the clock indicates that the current time is not one of the potential decoding times, the receiver increments 308 the clock and continues to receive observed symbols. When the clock corresponds to one of the potential decoding times from the set of potential decoding times indicated by the counter, the receiver determines 310 whether a decoding rule is satisfied. The first potential decoding time corresponds to a period of time during which the receiver can determine that there are no active transmitters. A variety of different, decoding rules can be applied to determine that there are no active transmitters and at subsequent potential decoding times to estimate the number of active transmitters. In many embodiments, the decoding rule that is utilized to estimate the number of active transmitters during the epoch can be a simple threshold rule that is applied at each potential decoding time after a determination is made that one or more transmitters are active. As is discussed further below, the specific decoding rule applied in a given receiver in accordance with an embodiment of the invention is largely dependent upon the requirements of a given application.

When the decoding rule is not satisfied, the receiver concludes that the subset of transmitters indexed by t is not the estimated active transmitter subset that is currently active and sends a negative feedback message to the transmitters. The receiver also increments the counter and the clock and continues to receive observed symbols. When the decoding rule is satisfied, the receiver decodes 314 the messages transmitted by the estimated active transmitter set and broadcasts a positive feedback message to the transmitters. In some embodiments, the receiver can determine 316 whether it is prepared to initiate another epoch. In the event that the receiver wishes to commence another epoch, the receiver selects 318 one or more codebooks to be utilized by the transmitters during the next epoch and broadcasts 302 a positive feedback message to the transmitters indicating the commencement of the next epoch and specifying the chosen codebook ID(s). In the event that the receiver completes an epoch and does not want to initiate a new epoch, the process completes. In many embodiments, the receiver transmits a positive feedback message indicating the end of the epoch (so the transmitters can cease transmission), followed by a message indicating that a new epoch has not commenced.

While a number of specific processes are described above for decoding data transmitted by an unknown number of transmitters via a RAC using rateless codes with reference to FIG. 3, any of a variety of process can be utilized in the decoding of data transmitted by multiple transmitters using rateless codes during epochs having durations determined by a receiver as appropriate to the requirements of specific applications in accordance with various embodiments of the invention. For example, a positive feedback message can indicate both the end of one epoch and the start of another epoch. In many embodiments, the transmitter and receivers commence a new epoch at a fixed time offset from the transmission of a positive feedback message by the receiver. In certain embodiments, the receiver transmits a first positive feedback message to end an epoch and a second message to commence the next epoch. In certain embodiments, the receiver can detect that an unusually large number of transmitters are attempting to transmit and send a feedback message that ends the epoch and that directs one or more of the transmitters to wait a period of time (e.g., a random number of epochs) before attempting to retry transmitting a message. Accordingly, it should be appreciated that receivers in accordance with various embodiments of the invention are not limited to any particular feedback mechanism and/or protocol.

While a variety of communication systems, transmitters, and receivers are described above with reference to FIGS. 2-3, as will be appreciated based upon the discussion below, any of a variety of transmitters and receivers that employ rateless codes can be utilized in accordance with various embodiments of the invention. The discussion that follows presents a variety of approaches that can be utilized to design communication systems and to determine the set of possible decoding times to be utilized by the decoder in decoding the messages from the transmitters in a given application. In order to discuss communication systems in accordance with various embodiments of the invention in more detail, it is helpful to define a set of notations that can be helpful in describing the Gaussian MAC and/or RAC and Fading MAC and/or RAC models that can be employed in designing communication systems in accordance with many embodiments of the invention and the resulting communication systems.

Notation

Bold symbols are used to denote vectors (e.g., x). For any integer k≥1, [k]

{1, . . . , k}. For any set

,

(

)

{

⊆

,

≠∅} denotes the set of non-empty subsets of

. For any x=(x₁, . . . , x_(n))∈

^(n) and

⊆[n],

=(x_(i):i∈

) denotes the sub-vector of x with components in

. For vectors x₁, . . . , x_(K) of the same dimension and index set

∈

([K]),

=(

: s∈

) and

. The notation for vectors and their collections is summarized in Table 1 below. For vectors x=(x₁, . . . , x_(n)) and y=(y₁, . . . , y_(n)),

$x\overset{\pi}{=}y$

can be written if there exists a permutation π of the elements of y such that x=π(y), and

$x\overset{\pi}{\neq}y$

if x≠π (y) for all permutations π of elements of y. The inner product of x and y is denoted by

x,y

=Σ_(i=1) ^(n)x_(i)y_(i) and the Euclidean norm of x by ∥x∥

√{square root over (x,x)}. Vector inequalities are understood element-wise, i.e., x≤y if and only if x_(i)≤y_(i) for all i∈[n]. All-zero and all-one vectors are denoted by 0 and 1, respectively.

Matrices are denoted by sans serif font (e.g., A). The n×n identity matrix is denoted by I_(n). Logarithms and exponents are base e. The indicator function is denoted by 1 {·}. Unless specified otherwise, for any scalar function ƒ(·) and any vector x∈

^(n), the vector of function values ƒ(x)=(ƒ(x_(i)):i∈[n]) is formed. For a set

⊆

^(n), a vector c∈

^(n), and a scalar a, a

+c

{ax+c:x∈

}. The sphere with dimension n, radius r, and center at the origin is denoted by

^(n)(r)

{x∈

^(n):∥x∥=r}.

The distribution of a random variable X is denoted by P_(X). P_(X)→P_(Y|X)→P_(Y) indicates that P_(Y) is the marginal distribution of P_(X)P_(Y|X). To indicate that the random variables (or vectors) X and Y are identically distributed, the notation X˜Y is employed. The multivariate Gaussian distribution with mean μ and covariance matrix Σ is denoted by

(μ, Σ). The complementary Gaussian cumulative distribution function

${Q(x)} = {\frac{1}{\sqrt{2\pi}}{\int_{x}^{\infty}{\exp\left\{ {- \frac{t^{2}}{2}} \right\}{dt}}}}$

is employed. Furthermore, the functional inverse of Q(·) is denoted by Q⁻¹(·).

Big-O notation ƒ(n)=O(g(n)) is used if and only if there exist constants c and n₀ such that |ƒ(n)|≤c|g(n)| for all n>n₀; little-o notation ƒ(n)=o(g(n)) is used if and only if for every ϵ>0, there exists a constant n₀ such that |ƒ(n)|≤ϵ|g(n)| for all n>n₀.

TABLE 1 Vector Notation Notation Linear form Description

(

_(, 1), . . . ,

_(, n)) The length-n vector that is a member of a collection indexed by s ϵ

(

s ϵ

) The size-|

| ordered collection of length-n vectors

(

_(, t):t ϵ

):s ϵ

) The size-|

| ordered collection of length-|

|vectors with time indices in

 ⊆ [n]

Summation of length-n vectors from the collection

System and Methods for Communicating Via a Gaussian Multiple Access Channel

Systems and methods in accordance with many embodiments of the invention utilize a two-transmitter MAC channel code. In several embodiments, an (M₁,M₂,ϵ)-MAC code for the channel with transition P_(Y) ₂ _(|X) ₁ _(X) ₂ can be used that includes two encoding functions

$\begin{matrix} {{{\frac{1}{M_{1}M_{2}}{\sum\limits_{m_{1} = 1}^{M_{1}}{\sum\limits_{m_{2} = 1}^{M_{2}}{{\mathbb{P}}\left\lbrack {\left. {{g\left( Y_{2} \right)} \neq \left( {m_{1},m_{2}} \right)} \middle| \left( {X_{1},X_{2}} \right) \right. = \left( {{f_{1}\left( m_{1} \right)},{f_{2}\left( m_{2} \right)}} \right)} \right\rbrack}}}} \leq \epsilon},} & (4) \end{matrix}$

where Y₂ is the channel output under inputs X₁ and X₂, and ϵ is the average-error constraint.

The mutual information densities for a MAC with channel transition law P_(Y) ₂ _(|X) ₁ _(X) ₂ can be defined as

$\begin{matrix} {{\iota_{1}\left( {x_{1};{y❘x_{2}}} \right)}\overset{\bigtriangleup}{=}{\log\frac{P_{Y_{2}❘{X_{1}X_{2}}}\left( {{y❘x_{1}},x_{2}} \right)}{P_{Y_{2}❘X_{2}}\left( {y❘x_{2}} \right)}}} & \left( {5a} \right) \\ {{\iota_{2}\left( {x_{2};{y❘x_{1}}} \right)}\overset{\bigtriangleup}{=}{\log\frac{P_{Y_{2}❘{X_{1}X_{2}}}\left( {{y❘x_{1}},x_{2}} \right)}{P_{Y_{2}❘X_{1}}\left( {y❘x_{1}} \right)}}} & \left( {5b} \right) \\ {{\iota_{1,2}\left( {x_{1},{x_{2};y}} \right)}\overset{\bigtriangleup}{=}{\log\frac{P_{Y_{2}❘{X_{1}X_{2}}}\left( {{y❘x_{1}},x_{2}} \right)}{P_{Y_{2}}(y)}}} & \left( {5c} \right) \end{matrix}$

where P_(X) ₁ and P_(X) ₂ are the channel input distributions, and P_(X) ₁ P_(X) ₂ →P_(Y) ₂ _(|X) ₁ _(X) ₂ →P_(Y) ₂ . The mutual information random vector is defined as

$\begin{matrix} {{\iota_{2}\overset{\bigtriangleup}{=}\begin{bmatrix} {\iota_{1}\left( {X_{1};{Y_{2}❘X_{2}}} \right)} \\ {\iota_{2}\left( {X_{2};{Y_{2}❘X_{1}}} \right)} \\ {\iota_{1,2}\left( {X_{1},{X_{2};Y_{2}}} \right)} \end{bmatrix}},} & (6) \end{matrix}$

where (X₁, X₂, Y₂) is distributed according to P_(X) ₁ P_(X) ₂ P_(Y) ₂ _(|X) ₁ _(X) ₂ .

The performance of the above codes on the Gaussian MAC, can be analyzed using a Random Coding Union (RCU) bound with P_(X) ₁ and P_(X) ₂ uniform on the power spheres.

Random(Coding Union Bound for the Multiple Access Channel

When the input distributions P_(X) ₁ and P_(X) ₂ are fixed, P_(X) ₁ _(X) ₁ _(,X) ₂ _(,X) ₂ _(,Y) ₂ (x₁,x ₁,x₂,x ₂,y)=P_(X) ₁ (x₁)P_(X) ₁ (x 1)P_(X) ₂ (x₂)P_(X) ₂ (x ₂)P_(Y) ₂ _(|X) ₁ _(X) ₂ (y|x₁,x₂). Furthermore, there exists an (M₁, M₂, ϵ)-MAC code for P_(Y) ₂ _(|X) ₁ _(X) ₂ such that

ϵ≤

[min{1,(M ₁−1)

[ι₁( X ₁ ;Y ₂ |X ₂)≥Λ₁(X ₁ ;Y ₂ |X ₂)|X ₁ ,X ₂ ,Y ²]+(M ₁−1)(M ₂−1)

[ι_(1,2)(X ₁ ,X ₂ ;Y ₂)≥ι_(1,2)(X ₁ ,X ₂ ;Y ₂)|X ₁ ,X ₂ ,Y ₂]}].  (7)

When the codewords X₁(m₁), m₁∈[M₁] and X₂(m₂), m₂ ∈[M₂] are drawn i.i.d. from P_(X) ₁ and P_(X) ₂ , respectively, and independently of each other, a maximum likelihood decoder at the receiver can choose the message pair (m₁, m₂) with the maximum information density ι_(1,2)(X₁(m₁), X₂(m₂); Y₂). In this circumstance, the average probability of error can be bounded from above as

$\begin{matrix} {\epsilon \leq {{\mathbb{P}}\left\lbrack {\bigcup\limits_{{({j,k})} \neq {({1,1})}}\left\{ {\iota_{1,2}\left( {{X_{1}(j)},{{X_{2}(k)};Y_{2}}} \right)} \right.} \right.}} & {(8)} \\ {\left. {\geq {\iota_{1,2}\left( {{X_{1}(1)},{{X_{2}(1)};Y_{2}}} \right)}} \right\} ❘\left( {X_{1},X_{2}} \right)} & \\ \left. {= \left( {{X_{1}(1)},{X_{2}(1)}} \right)} \right\rbrack & \\ {= {{\mathbb{E}}\left\lbrack {{\mathbb{P}}\left\lbrack {\bigcup\limits_{{({j,k})} \neq {({1,1})}}\left\{ {\iota_{1,2}\left( {{X_{1}(j)},{{X_{2}(k)};Y_{2}}} \right)} \right.} \right.} \right.}} & {(9)} \\ \left. \left. {{\left. {\geq {\iota_{1,2}\left( {{X_{1}(1)},{{X_{2}(1)};Y_{2}}} \right)}} \right\} ❘{X_{1}(1)}},{X_{2}(1)},Y_{2}} \right\rbrack \right\rbrack & \\ {\leq {{\mathbb{E}}\left\lbrack {\min\left\{ {1,{\left( {M_{1} - 1} \right)\left\lbrack {\iota_{1,2}\left( {{\overset{\_}{X}}_{1},{X_{2};Y_{2}}} \right)} \right.}} \right.} \right.}} & {(10)} \\ {\left. {{{\geq {\iota_{1,2}\left( {X_{1},{X_{2};Y_{2}}} \right)}}❘X_{1}},X_{2},Y_{2}} \right\rbrack +} & \\ {\left( {M_{2} - 1} \right){{\mathbb{P}}\left\lbrack {\iota_{1,2}\left( {X_{1},{{\overset{\_}{X}}_{2};Y_{2}}} \right)} \right.}} & \\ {{\left. {{{\geq {\iota_{1,2}\left( {X_{1},{X_{2};Y_{2}}} \right)}}❘X_{1}},X_{2},Y_{2}} \right\rbrack + {\left( {M_{1} - 1} \right)\left( {M_{2} - 1} \right)}}\mspace{104mu}} & \\ {{\mathbb{P}}\left\lbrack {\iota_{1,2}\left( {{\overset{\_}{X}}_{1},{{\overset{\_}{X}}_{2};Y_{2}}} \right)} \right.} & \\ {\left. \left. \left. {{{\geq {\iota_{1,2}\left( {X_{1},{X_{2};Y_{2}}} \right)}}❘X_{1}},X_{2},Y_{2}} \right\rbrack \right\} \right\rbrack,} &  \end{matrix}$

where (10) follows the union bound and the bounded nature of probability. The right-hand side of (10) is equal to the right-hand side of (7), since the mutual information density ι_(1,2)(x₁, x₂; y) can be expanded as

$\begin{matrix} \begin{matrix} {{\iota_{1,2}\left( {x_{1},{x_{2};y}} \right)} = {{\iota_{1}\left( {x_{1};{y❘x_{2}}} \right)} + {\iota_{2}\left( {x_{2};y} \right)}}} \\ {{= {{\iota_{2}\left( {x_{2};{y❘x_{1}}} \right)} + {\iota_{1}\left( {x_{1};y} \right)}}},} \end{matrix} & (11) \end{matrix}$

where

${{\iota_{i}\left( {x_{i};y} \right)}\overset{\bigtriangleup}{=}{\log\frac{P_{Y_{2}❘X_{i}}\left( {y❘x_{i}} \right)}{P_{Y_{2}}(y)}}},$

i∈{1, 2}. Since the average error probability of randomly generated codewords is bounded by the right-hand side of (7), there exists a code satisfying (7).

In several embodiments of the invention, the system utilizes a MAC code with with an arbitrary K≥2 transmitters. In these embodiments, an (M_([K]), ϵ)-MAC code for the channel with transition law P_(Y) _(K) _(|X) _([K]) is used that includes K encoding functions, ƒ_(i): [M_(i)]→X_(i), i∈[K], and a decoding function g:

$\left. y_{K}\rightarrow{\overset{K}{\underset{i = 1}{\times}}\left\lbrack M_{i} \right\rbrack} \right.$

such that

$\begin{matrix} {{{\frac{1}{\prod\limits_{i = 1}^{K}\; M_{i}}{\sum\limits_{m_{\lbrack K\rbrack} \in {\overset{K}{\underset{i = 1}{\times}}{\lbrack M_{i}\rbrack}}}\;{{\mathbb{P}}\left\lbrack {{{{g\left( Y_{K} \right)} \neq m_{\lbrack K\rbrack}}❘X_{\lbrack K\rbrack}} = {f_{\lbrack K\rbrack}\left( m_{\lbrack K\rbrack} \right)}} \right\rbrack}}} \leq \epsilon},} & (12) \end{matrix}$

where Y_(K) is the channel output under inputs X₁, . . . , X_(K), and ϵ is the average-error constraint. The above result generalizes to the K-transmitter MAC. The conditional mutual information densities can be defined for the K-transmitter MAC as

$\begin{matrix} {{{\iota_{\mathcal{S}}\left( {x_{\mathcal{S}};{y❘x_{\mathcal{S}^{c}}}} \right)}\overset{\bigtriangleup}{=}{\log\frac{P_{Y_{K}❘X_{\lbrack K\rbrack}}\left( {y❘x_{\lbrack K\rbrack}} \right)}{P_{Y_{K}❘X_{\mathcal{S}^{c}}}\left( {y❘x_{\mathcal{S}^{c}}} \right)}}},} & (13) \end{matrix}$

where

⊂[K],

≠∅, and

^(c)=[K]\

, and the unconditional mutual information density as

$\begin{matrix} {{\iota_{\lbrack K\rbrack}\left( {x_{\lbrack K\rbrack};y} \right)}\overset{\bigtriangleup}{=}{\log\frac{P_{Y_{K}❘X_{\lbrack K\rbrack}}\left( {y❘x_{\lbrack K\rbrack}} \right)}{P_{Y_{K}}(y)}}} & (14) \end{matrix}$

The inequality in (7) extends to the K-transmitter MAC as

$\begin{matrix} {\epsilon \leq {{{\mathbb{E}}\left\lbrack {\min\left\{ {1,{\sum\limits_{\mathcal{S} \in {\mathcal{P}{({\lbrack K\rbrack})}}}\;{\left( {\prod\limits_{s \in \mathcal{S}}\;\left( {M_{s} - 1} \right)} \right){{\mathbb{P}}\left\lbrack {{{{\iota_{\mathcal{S}}\left( {{\overset{\_}{X}}_{\mathcal{S}};{Y_{K}❘X_{\mathcal{S}^{c}}}} \right)} \geq {\iota_{\mathcal{S}}\left( {X_{\mathcal{S}};{Y_{K}❘X_{\mathcal{S}^{c}}}} \right)}}❘X_{\lbrack k\rbrack}},Y_{k}} \right\rbrack}}}} \right\}} \right\rbrack}.}} & (15) \end{matrix}$

A Third-Order Achievability Bound for the Gaussian MAC

In several embodiments, the code definition incorporates maximal-power constraints (P₁, P₂) on the channel inputs. When (X₁, X₂) and Y₂ are defined as the MAC inputs and output, respectively, an (n, M₁, M₂, ϵ, P₁, P₂)-MAC code for a two-transmitter MAC includes encoding functions ƒ₁: [M₁]→

and ƒ₂: [M₂]→

, and decoding function g:

^(n)→[M₁]×[M₂] such that

  f_(i)(m_(i))² ≤ nP_(i)∀i ∉ {1, 2}, m_(i) ∈ [M_(i)] ${\frac{1}{M_{1}M_{2}}{\sum\limits_{m_{1} = 1}^{M_{1}}\;{\sum\limits_{m_{2} = 1}^{M_{2}}{{\mathbb{P}}\left\lbrack {{{{g\left( Y_{2} \right)} \neq \left( {m_{1},m_{2}} \right)}❘\left( {X_{1},X_{2}} \right)} = \left( {{f_{1}\left( m_{1} \right)},{f_{2}\left( m_{2} \right)}} \right)} \right\rbrack}}}} \leq {\epsilon.}$

The following notation can be used to present an achievability result for the Gaussian MAC with k≥1 transmitters. Over n channel uses, the channel has inputs X₁, . . . , X_(k) ∈

, additive noise Z˜

(0, I_(n)), and output

Y _(k) =

+Z.  (16)

The channel transition law induced by (16) can be written as

$\begin{matrix} {{{P_{Y_{k}❘X_{\lbrack k\rbrack}}\left( {y❘x_{\lbrack k\rbrack}} \right)} = {\prod\limits_{i = 1}^{n}{P_{Y_{k}❘X_{\lbrack k\rbrack}}\left( {{y_{i}❘x_{1\; i}},\ldots\mspace{14mu},x_{k\; i}} \right)}}},{where}} & (17) \\ {{P_{Y_{k}❘X_{\lbrack k\rbrack}}\left( {y❘x_{\lbrack k\rbrack}} \right)} = {\frac{1}{\sqrt{2\;\pi}}\exp{\left\{ {- \frac{\left( {y - x_{\lbrack k\rbrack}} \right)^{2}}{2}} \right\}.}}} & (18) \end{matrix}$

When Z˜

(0, V), and V is a d×d positive semi-definite matrix, the multidimensional analogue of the inverse Q⁻¹(·) of the complementary Gaussian cumulative distribution is

Q _(inv)(V,ϵ)={z∈

^(d):

[Z≤z]≥1−ϵ}.  (19)

For d=1, Q⁻¹(ϵ)=min{z:z∈Q_(inv)(1,ϵ)}.

The capacity vector for the two-transmitter Gaussian MAC can be defined as

$\begin{matrix} {{C\left( {P_{1}P_{2}} \right)} = {\overset{\bigtriangleup}{=}{\begin{bmatrix} {C\left( P_{1} \right)} \\ {C\left( P_{2} \right)} \\ {C\left( P_{\langle{\lbrack 2\rbrack}\rangle} \right)} \end{bmatrix}.}}} & (20) \end{matrix}$

The dispersion matrix for the two-transmitter Gaussian MAC can be defined as

$\begin{matrix} {{V\left( {P_{1},P_{2}} \right)}\overset{\bigtriangleup}{=}\begin{bmatrix} {V\left( P_{1} \right)} & {V_{1,2}\left( {P_{1},P_{2}} \right)} & {V_{1,12}\left( {P_{1},P_{2}} \right)} \\ {V_{1,2}\left( {P_{1},P_{2}} \right)} & {V\left( P_{2} \right)} & {V_{2,12}\left( {P_{1},P_{2}} \right)} \\ {V_{1,12}\left( {P_{1},P_{2}} \right)} & {V_{2,12}\left( {P_{1},P_{2}} \right)} & {{V\left( P_{\langle{\lbrack 2\rbrack}\rangle} \right)} + {V_{12}\left( {P_{1},P_{2}} \right)}} \end{bmatrix}} & (21) \end{matrix}$

where V(P) is the dispersion function (3), and

$\begin{matrix} {{V_{1,2}\left( {P_{1},P_{2}} \right)} = {\frac{1}{2}\frac{P_{1}P_{2}}{\left( {1 + P_{1}} \right)\left( {1 + P_{2}} \right)}}} & (22) \\ {{{V_{i,12}\left( {P_{1},P_{2}} \right)} = {\frac{1}{2}\frac{P_{i}\left( {2 + P_{\langle{\lbrack 2\rbrack}\rangle}} \right)}{2\left( {1 + P_{i}} \right)\left( {1 + P_{\langle{\lbrack 2\rbrack}\rangle}} \right)}}},{i \in \left\{ {1,2} \right\}}} & (23) \\ {{V_{12}\left( {P_{1},P_{2}} \right)} = {\frac{P_{1}P_{2}}{\left( {1 + P_{\langle{\lbrack 2\rbrack}\rangle}} \right)^{2}}.}} & (24) \end{matrix}$

For any ϵ∈(0, 1) and any P₁, P₂>0, an (n, M₁,M₂, ϵ, P₁, P₂)-MAC code for the two-transmitter Gaussian MAC exists provided that

$\begin{matrix} {\begin{bmatrix} {\log\mspace{11mu} M_{1}} \\ {\log\mspace{11mu} M_{2}} \\ {\log\mspace{11mu} M_{1}M_{2}} \end{bmatrix} \in {{{nC}\left( {P_{1},P_{2}} \right)} - {\sqrt{n}{Q_{inv}\left( {{\text{⩔}\left( {P_{1},P_{2}} \right)},\epsilon} \right)}} + {\frac{1}{2}\log\mspace{11mu} n\; 1} + {{O(1)}1.}}} & (25) \end{matrix}$

The above result extends to the general K-transmitter Gaussian MAC. An (n, M_([K]), ϵ, P_([K]))-MAC code for the K-transmitter Gaussian MAC with message set sizes M₁, . . . , M_(K) and power constraints P₁, . . . , P_(K) is a natural extension of the two-transmitter MAC code given above. For any ϵ∈(0, 1), and P_(i)>0, i∈[K], an (n, M_([K]), ϵ, P_([K]))-MAC code for the K-transmitter Gaussian MAC exists provided that.

$\begin{matrix} {{\left( {{\sum\limits_{s \in \mathcal{S}}{\log\mspace{11mu} M_{s}\text{:}\mspace{14mu}\mathcal{S}}} \in {\mathcal{P}\left( \lbrack K\rbrack \right)}} \right) \in {{{nC}\left( P_{\lbrack K\rbrack} \right)} - {\sqrt{n}{Q_{inv}\left( {{\text{⩔}\left( P_{\lbrack K\rbrack} \right)},\epsilon} \right)}} + {\frac{1}{2}\log\mspace{11mu} n\; 1} + {{O(1)}1}}},} & (26) \end{matrix}$

where C(P_([K])) is the capacity vector

C(P _([K]))

(C(

):

∈

([K]))∈

² ^(K) ⁻¹,  (27)

and V(P_([K])) is the (2^(K)−1)×(2^(K)−1) dispersion matrix with the elements

(P_([K])),

,

∈

([K]), given by

$\begin{matrix} {{⩔_{\mathcal{S}_{1},\mathcal{S}_{2}}\left( P_{\lbrack K\rbrack} \right)}\overset{\Delta}{=}{\frac{{P_{\langle\mathcal{S}_{1}\rangle}P_{\langle\mathcal{S}_{2}\rangle}} + {2P_{\langle{\mathcal{S}_{1}\bigcap\mathcal{S}_{2}}\rangle}} + \left( P_{\langle{\mathcal{S}_{1}\bigcap\mathcal{S}_{2}}\rangle} \right)^{2} - P_{\langle{\mathcal{S}_{1}\bigcap\mathcal{S}_{2}}\rangle}^{2}}{2\left( {1 + P_{\langle\mathcal{S}_{1}\rangle}} \right)\left( {1 + P_{\langle\mathcal{S}_{2}\rangle}} \right)}.}} & (28) \end{matrix}$

For the symmetric setting, that is P_(i)=P and M_(i)=M for i∈[K], for any ϵ∈(0, 1), and P>0, an (n, M1, ϵ, P1)-MAC code for the K-transmitter Gaussian MAC exists provided that

K log M≤nC(KP)−√{square root over (n(V(KP)+V _(cr)(K,P)))}Q ⁻¹(ϵ)+½ log n+O(1).  (29)

Again, C(·) and V(·) are the capacity (1) and dispersion (3) functions, respectively, and V_(cr)(K, P) is the cross dispersion term

$\begin{matrix} {{V_{cr}\left( {K,P} \right)}\overset{\Delta}{=}{\frac{{K\left( {K - 1} \right)}P^{2}}{2\left( {1 + {KP}} \right)^{2}}.}} & (30) \end{matrix}$

Communications Systems for Communicating Via Gaussian Random Access Channels

In order to capture the scenario of a memoryless Gaussian channel with K possible transmitters, a single receiver, and an unknown activity pattern

⊆[K] describing the set of active transmitters, the Gaussian RAC can be described by a family of Gaussian MACs {P_(Y) _(k) _(|X) _([k]) }_(k=0) ^(K), each indexed by the number of active transmitters k∈{0, . . . , K}. A compound channel model can be utilized to avoid the need to assign probabilities to each activity pattern

. In other embodiments, the system designer assigns a prior probability of being active or other forms of priorities to each activity pattern

.

Systems and methods in accordance with many embodiments of the invention utilize an epoch-based rateless communication strategy to achieve the fundamental limits of the Gaussian RAC. Each transmitter can either be active or silent during a whole epoch. At each of times n₀, n₁, . . . , the decoder broadcasts to all transmitters a message indicating whether the decoder has been able to decode the messages or not. (e.g., a single bit or symbol—sending value 1 if it can decode and 0 otherwise). The transmission of a message (e.g., a one bit message ‘1’) at time n_(t) ends the current epoch and starts the next. The timing of the end of the epoch is often indicative of the decoder's estimate that the number of transmitters is t.

In several embodiments, identical encoding is employed in which each active transmitter i uses the same encoding function to describe its message W_(i) ∈[M]. Identical encoding here assumes P_(i)=P and M_(i)=M for all i. The task of the decoder is to decode a list of messages sent by the active transmitters

but not the identities of those transmitters. Messages

_(A) are independent and uniformly distributed on alphabet [M].

Since encoding is identical and the channel is invariant to permutation of its inputs, it can be assumed without loss of generality that |

=k implies

=[k]. Intuitively, given identical encoding and a Gaussian channel, one would expect that interference increases with the number of active transmitters k, and therefore that the decoding time n_(k) increases with k. Since the capacity per transmitter for the k-transmitter Gaussian MAC,

${\frac{1}{k}{C({kP})}},$

decreases with k, n₀< . . . <n_(K) for M can be chosen to be large enough. In several embodiments, the system designer can choose a different ordering on the decoding times n₀, . . . , n_(K).

As a notational convenience, n_(K) can be used to represent the longest decoding time. At time n_(K), the decoder sees

Y _(k) =

+Z∈

^(n) ^(K) for k∈[K],  (31)

where X₁, . . . , X_(k) are n_(K)-dimensional channel inputs, Z˜

(0, I_(n) _(K) ) is the Gaussian noise, and Y_(k) is the n_(K)-dimensional output when k transmitters are active. When no transmitters are active, Y₀=Z. At each time n_(t)<n_(K), the decoder has access to the first n_(t) dimensions of Y_(k).

An agnostic random access model can be assumed, where the transmitters know nothing about the set

of active transmitters except their own membership and the feedback from the receiver. The receiver knows nothing about

except what it can learn from the channel output Y_(k).

In certain embodiments, the transmitters and the receiver utilize a rateless Gaussian RAC code that is an ({n_(j), ϵ_(j)}_(j=0) ^(K), M, P)-RAC code for the Gaussian RAC with K transmitters. Such a code can be implemented using a single encoding function ƒ:

×[M]→

^(n) ^(K) and decoding functions g_(k):

×

^(n) ^(k) →[M]^(k)∪{e} for k=0, . . . , K. The decoder can output the erasure symbol “e” and broadcasts value 0 to the transmitters if it cannot decode at time n_(k).

The codewords satisfy the maximal-power constraints

∥ƒ(u,m)^([nj])∥² ≤n _(j) P for m∈[M],u∈

,j∈[K].  (32)

If k transmitters are active, then the average probability of error in decoding k messages at time n_(k) is bounded as

$\begin{matrix} {{{\frac{1}{M^{k}}{\sum\limits_{m_{\lbrack k\rbrack} \in {\lbrack M\rbrack}^{k}}{{\mathbb{P}}\left\lbrack {{\left\{ {\bigcup\limits_{{t:{n_{t} \leq n_{k}}},{t \neq k}}\left\{ {{g_{t}\left( {U,Y_{k}^{\lbrack n_{t}\rbrack}} \right)} \neq e} \right\}} \right\}\bigcup{\left\{ {{g_{k}\left( {U,Y_{k}^{\lbrack n_{k}\rbrack}} \right)}\overset{\pi}{\neq}m_{\lbrack k\rbrack}} \right\}\text{|}X_{\lbrack k\rbrack}^{\lbrack n_{k}\rbrack}}} = {f\left( {U,m_{\lbrack k\rbrack}} \right)}^{\lbrack n_{k}\rbrack}} \right\rbrack}}} \leq \epsilon_{k}},} & (33) \end{matrix}$

where ƒ(U, m_(i)) is the codeword for the message m_(i)∈[M], U is the common randomness random variable and the output Y_(k) is generated according to (31). If no transmitters are active, then the decoder decodes to the unique message {1} with probability of error bounded as

[g ₀(U,Y ₀ ^(|n) ⁰ ^(]))≠1]≤ϵ₀.  (34)

The realization u of the common randomness random variable U initializes the encoders and the decoder. At the start of each communication epoch, u can be shared between all transmitters and the receiver. The alphabet size of U is bounded by K+1.

A Third-Order Achievability Result for the Gaussian RAC

When K<∞, ϵ_(k)∈(0, 1) for k∈{0}∪[K], and M are fixed, an ({n_(j), ϵ_(j)}_(j=0) ^(K), M, P)-RAC code exists for the Gaussian RAC with K possible transmitters provided that

k log M≤n _(k) C(kP)−√{square root over (n _(k)(V(kP)+V _(cr)(k,P)))}Q ⁻¹(ϵ_(k))+½ log n _(k) +O(1)  (35)

for k∈[K], and

n ₀ ≥c log n ₁ +o(log n ₁)  (36)

for some constant c>0, where C(·), V(·), and V_(cr)(·, ·) are the capacity (1), dispersion (3), and cross dispersion functions (30), respectively. All uses of O(1) and o(1) are taken with respect to n₁.

When constants λ_(k)>0 for k∈{0}∪[K] and distribution P_(X) on

^(n) ^(K) are fixed, there exists an ({n_(j), ϵ_(j)}_(j=0) ^(K), M, P)-RAC code with

$\begin{matrix} {\mspace{79mu}{\epsilon_{0} \leq {{\mathbb{P}}\left\lbrack {{{{Y_{0}^{\lbrack n_{0}\rbrack}}^{2} - n_{0}}} > {n_{0}\lambda_{0}}} \right\rbrack}}} & (37) \\ {\epsilon_{k} \leq {\frac{k\left( {k - 1} \right)}{2M} + {{\mathbb{P}}\left\lbrack {\bigcup\limits_{i = 1}^{k}{\bigcup\limits_{\underset{j \geq 1}{j:{n_{j} \leq n_{k}}}}\left\{ {{X_{i}^{\lbrack n_{j}\rbrack}}^{2} > {n_{j}P}} \right\}}} \right\rbrack} + {{\mathbb{P}}\left\lbrack {\bigcup\limits_{\underset{t \neq k}{t:{n_{t} \leq n_{k}}}}\left\{ {{{{Y_{k}^{\lbrack n_{t}\rbrack}}^{2} - {n_{t}\left( {1 + {tP}} \right)}}} \leq {n_{t}\lambda_{t}}} \right\}} \right.}}} & \left( {38a} \right) \\ {\left. {\bigcup\left\{ {{{{Y_{k}^{\lbrack n_{k}\rbrack}}^{2} - {n_{k}\left( {1 + {kP}} \right)}}} > {n_{k}\lambda_{k}}} \right\}} \right\rbrack + {{\mathbb{E}}\left\lbrack {\min\left\{ {1,{\sum\limits_{s = 1}^{k}{\begin{pmatrix} k \\ s \end{pmatrix}\begin{pmatrix} {M - k} \\ s \end{pmatrix}}}} \right.} \right.}} & \left( {38b} \right) \\ \left. \left. {{\mathbb{P}}\left\lbrack {{{\iota_{\lbrack s\rbrack}\left( {{\overset{\_}{X}}_{\lbrack s\rbrack}^{\lbrack n_{k}\rbrack};{Y_{k}^{\lbrack n_{k}\rbrack}\text{|}X_{\lbrack{{s + 1}:k}\rbrack}^{\lbrack n_{k}\rbrack}}} \right)} \geq {{\iota_{\lbrack s\rbrack}\left( {X_{\lbrack s\rbrack}^{\lbrack n_{k}\rbrack};{Y_{k}^{\lbrack n_{k}\rbrack}\text{|}X_{\lbrack{{s + 1}:k}\rbrack}^{\lbrack n_{k}\rbrack}}} \right)}\text{|}X_{\lbrack k\rbrack}^{\lbrack n_{k}\rbrack}}},Y_{k}^{\lbrack n_{k}\rbrack}} \right\rbrack} \right\} \right\rbrack & \left( {38c} \right) \end{matrix}$

for all k∈[K], where X_([K]), X _([K]), Y_(k) ∈

^(n) ^(K) are distributed according to P_(X) _([K]) _(,X) _([K]) _(,Y) _(k) (x_([K]), x _([K]), y_(k))=(Π_(j∈[K])P_(X)(x_(j))P_(X)(x _(j)))P_(Y) _(k) _(|X) _([k]) (y_(k)|x_([k])), and P_(Y) _(k) _(|X) _([k]) is given in (31). The terms in (38a) correspond to the probability that at least two transmitters send the same message, and the probability of a power constraint violation, respectively. The probability in (38b) corresponds to the probability that the decoder decodes at a wrong decoding time, and the expectation in (38c) corresponds to the probability that the decoder decodes an incorrect message list at the correct decoding time n_(k) for k active transmitters.

For the Gaussian RAC, the rateless code described above performs as well in the first-, second-, and third-order terms as the best known communication scheme when the set of active transmitters is known. In other words, the first three terms on the right-hand side of (35) for k active transmitters match the first three terms of the largest achievable sum-rate in our achievability bound in (29) for the k-transmitter MAC.

When the distribution of the random codewords P_(X) is particularized such that the first n₁ symbols are drawn uniformly from the n₁-dimensional sphere with radius √{square root over (n₁P)},

^(n) ¹ (√{square root over (n₁P)}), the symbols indexed from n_(j−1)+1 to n_(j) are drawn uniformly from

^(n) ^(j) ^(−n) ^(j−1) (√{square root over ((n_(j)−n_(j−1))P)}) for j=2, . . . , K, and these K spherically distributed sub-codewords are independent. Under this P_(X), the maximal-power constraint in (32) is satisfied with equality for each number of active transmitters. Rather than using an encoding function that depends on the feedback from the receiver to the transmitters, systems and methods in accordance with many embodiments of the invention use an encoding function that is suitable for all possible transmitter activity patterns and does not depend on the receiver's feedback. Given that a decision is made at time n_(k), the active transmitters have transmitted only the first n_(k) symbols of the codewords representing their messages during that epoch, and the remaining n_(K)−n_(k) symbols of the codewords are not used.

In many embodiments including the one that the sub-codewords are drawn independently and uniformly from the surface of multi-dimensional spheres with potentially different sizes, the number of active transmitters in a Gaussian RAC can be reliably estimated from the total received power. This is possible because when k transmitters are active, the average received power

$\frac{1}{n_{k}}{{\mathbb{E}}\left\lbrack {Y_{k}^{\lbrack n_{k}\rbrack}}^{2} \right\rbrack}$

at time n_(k), concentrates around its mean value, N+kP, where N is the noise power of the channel, and this mean is distinct for each k∈{0}∪[K]. In other embodiments including the ones that the sub-codewords are drawn dependently, some other suitable functions of the received output Y_(k) ^([n) ^(k) ^(]) can be used to estimate the number of active transmitters. In several embodiments, the decoding function used at time n combines the maximum likelihood decoding rule for the k-transmitter MAC with a typicality rule based on the power of the output. If the average received power at time n_(k) lies on a small interval around N+kP, the decoder can run the maximum likelihood decoding rule, decodes a list of k messages, and broadcasts value ‘1’ to all transmitters; otherwise the decoder does not decode at time n_(k), broadcasting value ‘0’ to the transmitters and informing them that they must keep transmitting until the next decoding time.

By choosing n₁, . . . , n_(K) such that the inequalities in (35) are satisfied with a constant gap for each k, each n_(k) can be expressed in terms of n₁, ϵ₁, ϵ_(k), k and P as

$\begin{matrix} {{n_{k} = {{n_{1}\frac{{kC}_{1}}{C_{k}}} + {\sqrt{n_{1}}\left( {{\frac{1}{C_{k}}\sqrt{\frac{{kC}_{1}V_{k}}{C_{k}}}{Q^{- 1}\left( \epsilon_{k} \right)}} - {\frac{1}{C_{k}}\sqrt{{kV}_{1}}{Q^{- 1}\left( \epsilon_{1} \right)}}} \right)} + {\frac{k - 1}{2}\log\mspace{11mu} n_{1}} + {O(1)}}},} & (39) \end{matrix}$

where C_(k)=C(kP) and V_(k)=V(kP)+V_(cr)(k, P). Equation (39) can be derived by replacing the inequality in (35) by an equality, computing the Taylor series expansion of n_(k) in (35) in terms of k, P, ϵ_(k), and log M, and then replacing log M by (35) for k=1.

The input distribution used for the Gaussian RAC can also be used to achieve equivalent performance to that which can be achieved for the K-transmitter Gaussian MAC. As long as n_(j)−n_(j−1)≥cn_(K) holds for some constant c>0 for all j∈[K], requiring separate power constraints on each sub-block of the codewords as

∥ƒ_(i)(m _(i))^([nj])∥² ≤n _(j) P _(i) for m _(i)∈[M _(i)],i∈[K],j∈[K]  (40)

does not degrade performance in terms of the first three terms in the expansion of the performance bound. The supports of the distributions from which the codewords are drawn for the Gaussian MAC and RAC are illustrated in FIG. 4 for a small blocklength (n_(K)=3, K=2).

FIG. 4 conceptually illustrates that the support of the input distribution for the Gaussian RAC is the Cartesian product of

^(n) ¹ (√{square root over (n₁P)}) (here a circle with radius √{square root over (2P)}) and

^(n) ^(n) ^(−n) ¹ (√{square root over ((n₂−n₁)P)}) (here the set {−√{square root over (P)},√{square root over (P)}}.) This set is a subset of

^(n) ² (√{square root over (n₂P)}).

As described above, the number of active transmitters in an epoch is estimated via a sequence of decodability tests. An alternative strategy that is utilized in many embodiments is to estimate the number of active transmitters in one shot from the received power at time n₀, and to inform the transmitters about the estimate t of the number of active transmitters via a

log(K+1)

-bit feedback at time n₀. Given this knowledge, the transmitters can modify their encoding function based on t.

While much of the discussion above assumes that each of the transmitters utilize the same codebook. Systems and methods in accordance with a number of embodiments of the invention have the ability to use codebooks that are unique to each transmitter. By using distinct codebooks for each transmitter, the decoder can associate the transmitter identities with the decoded messages.

Systems and Methods for Communicating Via the Quasi-Static Fading RAC

Multi-transmitter communication over a slowly-varying fading RAC can be considered as a delay-constrained communication, where the duration of a communication epoch is shorter than the channel's coherence time, so the random fading coefficient stays constant during the entire epoch. This channel model is commonly referred as the quasi-static fading channel. As in the Gaussian RAC model, it can be assumed that the number of active transmitters k is unknown to the transmitters and the receiver. For simplicity, single-antenna communication with real inputs are considered in which the real fading coefficient is H_(i) for transmitter i. When the number of active transmitters is k, the channel output at time n is given by

$\begin{matrix} {{Y = {{\sum\limits_{i = 1}^{k}{H_{i}X_{i}}} + Z}},} & (41) \end{matrix}$

where X_(i)∈

^(n) is the channel input from transmitter i, Z˜

(0, N|_(n))∈

^(n) is the additive Gaussian noise, and Y∈

^(n) is the channel output. The value N>0 is the noise power in the fading channel.

In the fixed-length, point-to-point, quasi-static fading channel problem, it is known that the maximum achievable rate in the first-order is

C _(ϵ) =sup{R:F(R)≤ϵ},  (42)

which is expressed using a quantity called the outage probability defined as

F(R)

[C(H ² P)<R].  (43)

The outage probability can be viewed as the probability that the fading gain |H| is too small to allow reliable communication over the channel, i.e., under this model, the fading coefficient H dictates whether reliable communication is possible for the current communication epoch.

Unlike the fixed-length fading RAC codes without feedback, use of a code similar to the codes described above in combination with stop-feedback allows the decoding times n₀ . . . , n_(K) to vary with the number of active transmitters k: therefore it can achieve higher rates for each number of active transmitters. Generalizing this idea to the quasi-static fading channel model, the decoder can vary the decoding times n₀ . . . , n_(K) according to the estimate of the fading coefficient vector H=(H₁, . . . , H_(k)). This means that to decode k messages, the decoder can decode at a random decoding time n_(k)(H) rather than a fixed n_(k), so that the system can opportunistically achieve higher coding rates for every realization of the fading coefficient H=h, rather than being penalized by the small fading coefficients h₁, . . . , h_(k) as in the fixed-length scenario for the fading channel. As in the Gaussian RAC problem, stop-feedback can be employed in the coding strategy. At time n_(k)(H), a positive feedback message signal can be sent to the transmitters to inform the transmitters that decoding has occurred. Otherwise, a negative feedback signal is sent signaling that the transmission continue until the next decoding time n_(k)(H).

Availability of the Channel Coefficient H at the Transmitters and the Receiver

When the fading coefficients H=h is available at the transmitters and the receiver, the channel transition rule can be equivalently expressed as

$\begin{matrix} {{Y = {{\sum\limits_{i = 1}^{k}X_{i}} + Z}},} & (44) \end{matrix}$

where the power constraint for the transmitted codewords until time n is

∥X _(i)∥² ≤nh _(i) ² Pa.s∀i∈[k].  (45)

This implies that for every realization of H=h, rates can be achieved such that the available power P for transmitter i is replaced by h_(i) ²P, and the fixed decoding times {n_(j)}_(j=0) ^(K) are replaced by decoding times that vary with h, i.e., {n_(j)(h)}_(j=0) ^(K).

In many embodiments where neither the transmitters nor the receiver knows the fading coefficients H, the fading coefficients H can be accurately estimated as ĥ using the first n_(F) channel outputs Y^([n) ^(F) ^(]), and then the random decoding times {n_(j)(ĥ)}_(j=0) ^(K) can be determined based on the estimate ĥ. Once the decoding times {n_(j)(ĥ)}_(j=0) ^(K) are determined at the decoder, the knowledge of the first decoding time n₁(ĥ) is transmitted to all transmitters using ┌log n₁(ĥ)┐ bits so that the transmitters are aware of the possible decoding times and do not need to listen to the feedback at all time instants. In many embodiments, the decoding times for k≠1 active transmitters, n_(k)(ĥ), can be determined from n₁(ĥ). In other embodiments, the receiver sends the estimate of the fading coefficients ĥ to the transmitters (once or with each feedback). The transmitter can then calculate the decoding times {n_(j)(ĥ)}_(j=0) ^(K).

Confidence Measures with Respect to the Random Decoding Time

As the decoding time is random due to the estimation process, for each j∈[K], it can be desirable to condition on the random decoding times such that

[n _(j)(ĥ)>N _(j)(h)|H=h]≤δ_(j), for all j∈{0, . . . ,K}.  (46)

where N_(j)(h) is a function of the fading coefficients h.

The inequality in (46) provides a performance measure on the random decoding times for each realization of the fading coefficients. The condition in (46) enables the random decoding time, n_(j)(ĥ), under the realization of the fading coefficients, h, to be below the target decoding time N_(j)(h) with high probability.

Code Definitions

An ({N_(j)(h), ϵ_(j), δ_(j)}_(j=0) ^(K), n_(F), M, P)-fading RAC code for K transmitters that can be utilized within the fading RAC with stop-feedback can be defined as follows. The decoder estimates the coding coefficient H at time n_(F) as ĥ using the output Y^([n) ^(F) ^(]), and determines the decoding times {n_(j)(ĥ)}_(j=0) ^(K). In many embodiments, information concerning the determined decoding times is broadcast to all transmitters at time n_(F). The code can utilize a single encoding function ƒ:

×[M]→

^(n) ^(K) ^((ĥ)) and decoding functions g_(k):

×

^(n) ^(k) ×

→[M]^(k)∪{e} for k=0, . . . , K. The decoder can output the erasure symbol “e” and broadcasts value 0 to the transmitters if it cannot decode at time n_(j)(ĥ).

The codewords can satisfy the maximal-power constraints

∥ƒ(u,m)^([n) ^(j) ^((ĥ)])∥² ≤n _(j)(ĥ)P for m∈[M],u∈

,j∈|K].  (47)

If k transmitters are active, then the average probability of error in decoding k messages at time n_(k)(ĥ) is bounded as

$\begin{matrix} {{\frac{1}{M^{k}}{\sum\limits_{m_{\lbrack k\rbrack} \in {\lbrack M\rbrack}^{k}}{{\mathbb{P}}\left\lbrack {{{\left\{ {\bigcup\limits_{{t:{{n_{t}{(\hat{h})}} \leq {n_{k}{(\hat{h})}}}},{t \neq k}}\left\{ {{g_{t}\left( {U,Y_{k}^{\lbrack{n_{t}(\hat{h})}\rbrack},\hat{h}} \right)} \neq e} \right\}} \right\}\bigcup{\left\{ {{g_{k}\left( {U,Y_{k}^{\lbrack{n_{k}(\hat{h})}\rbrack},\hat{h}} \right)}\overset{\pi}{\neq}m_{\lbrack k\rbrack}} \right\}\text{|}X_{\lbrack k\rbrack}^{\lbrack{n_{k}(\hat{h})}\rbrack}}} = {f\left( {U,m_{\lbrack k\rbrack}} \right)}^{\lbrack{n_{k}(\hat{h})}\rbrack}},{H = h}} \right\rbrack}}} \leq {\epsilon_{k}.}} & (48) \end{matrix}$

Furthermore, the random decoding times n_(j)(ĥ) satisfy the condition

[n _(j)(ĥ)>N _(j)(h)|H=h]≤δ_(j) for j∈{0, . . . ,K}.  (49)

Coding Strategy for the Fading Model

In many embodiments, upon receiving y^([n) ^(F) ^(]), the decoder can estimate the norm of the fading coefficient vector ∥ĥ∥ using a maximum likelihood estimator as

$\begin{matrix} {{\hat{h}}^{2} = {\frac{1}{P}{\left( {{\frac{1}{n_{F}}{y^{\lbrack n_{F}\rbrack}}^{2}} - N} \right).}}} & (50) \end{matrix}$

In many embodiments, the decoder can determine the decoding times {n_(j)(ĥ)}_(j=0) ^(K) using the estimate ∥ĥ∥. In a number of embodiments, the receiver sends a quantized or other imprecise description of the estimate ĥ to the transmitters. In a number of embodiments, the transmitters have access to this list of decoding times via one-time feedback at time n_(F).

At the encoder, the codewords are generated according to the independent, concatenated, spherical random code structure that is used for the Gaussian RAC (see discussion above). Instead of the decoding times n_(j), j∈[K] utilized within the Gaussian RAC, communication systems that communicate via a fading RAC can utilize decoding times {n_(j)(ĥ)}_(j=0) ^(K).

The decoder at time n_(j)(ĥ) combines a mismatched information density maximum likelihood decoder with an information-density-based threshold rule that involves defining the conditional mutual information density

$\begin{matrix} {{\iota_{\lbrack k\rbrack}\left( {x^{\lbrack n\rbrack};{y^{\lbrack n\rbrack}\text{|}h}} \right)}\overset{\Delta}{=}{\log{\frac{P_{{Y^{\lbrack n\rbrack}|X_{k}^{\lbrack n\rbrack}},H}\left( {{y^{\lbrack n\rbrack}\text{|}x_{k}^{\lbrack n\rbrack}},h} \right)}{P_{Y^{\lbrack n\rbrack}|H}\left( {y^{\lbrack n\rbrack}\text{|}h} \right)}.}}} & (51) \end{matrix}$

A threshold λ_(k)∈

can then be set. The decoder can apply the following function to make a decision at each subsequent time n_(k)(ĥ):

$\begin{matrix} {{g_{k}\left( {U,y^{\lbrack{n_{k}{(\hat{h})}}\rbrack},\hat{h}} \right)} = \left\{ {\begin{matrix} m_{\lbrack k\rbrack} & {{if}\mspace{14mu}{\iota_{\lbrack k\rbrack}\left( {{f\left( {U,m_{\lbrack k\rbrack}} \right)}^{\lbrack{n_{k}{(\hat{h})}}\rbrack};{y^{\lbrack{n_{k}{(\hat{h})}}\rbrack}\text{|}\hat{h}}} \right)}} \\ \; & {> {\iota_{\lbrack k\rbrack}\left( {{f\left( {U,m_{\lbrack k\rbrack}^{\prime}} \right)}^{\lbrack{n_{k}{(\hat{h})}}\rbrack};{y^{\lbrack{n_{k}{(\hat{h})}}\rbrack}\text{|}\hat{h}}} \right)}} \\ \; & {{{{for}\mspace{14mu}{any}\mspace{14mu} m_{\lbrack k\rbrack}^{\prime}}\overset{\pi}{\neq}m_{\lbrack k\rbrack}},} \\ \; & {{m_{1} \leq \ldots \leq m_{k}},} \\ \; & {{\iota_{\lbrack k\rbrack}\left( {{f\left( {U,m_{\lbrack k\rbrack}} \right)}^{\lbrack{n_{k}{(\hat{h})}}\rbrack};{y^{\lbrack{n_{k}{(\hat{h})}}\rbrack}\text{|}\hat{h}}} \right)} \geq \lambda_{k}} \\ e & {otherwise} \end{matrix},} \right.} & (52) \end{matrix}$

where λ_(k) is a parameter chosen to satisfy the error criterion ϵ_(k). Given that output power is not sufficient to estimate the number of active transmitters in the fading model, an information-density-based threshold rule is utilized.

Although the present invention has been described in certain specific aspects, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that the present invention can be practiced otherwise than specifically described without departing from the scope and spirit of the present invention. Thus, embodiments of the present invention should be considered in all respects as illustrative and not restrictive. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents. 

What is claimed is:
 1. A communication system, comprising: a plurality of transmitters that each comprise an encoder, wherein the encoder of a given transmitter is configured to: receive a start of epoch message; encode message data as symbols using a rateless code comprising a set of codewords characterized in that they are located within a restricted subset of a multi-dimensional sphere; and receive feedback messages at a predetermined set of potential decoding times; wherein the transmitter is configured to transmit symbols until a received feedback message is an end of epoch message; and a receiver comprising a decoder, where the decoder is configured to: cause a broadcast transmitter to transmit at least one start of epoch message; receive observed symbols; at each of a predetermined set of decode times, determine whether a decoding rule is satisfied; and when the decoding rule is satisfied: decode at least one message based upon the received observed symbols based upon the rateless code; and cause the broadcast transmitter to transmit an end of epoch message.
 2. The communication system of claim 1, wherein the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere and an internal portion of the multi-dimensional sphere proximate the subset of the surface of the multi-dimensional sphere.
 3. The communication system of claim 1, wherein the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere.
 4. The communication system of claim 1, wherein the determination of whether a decoding rule is satisfied is based upon the received observed symbols.
 5. The communication system of claim 4, wherein the decoding rule combines a threshold rule based on the total received power and a maximum likelihood decoding rule.
 6. The communication system of claim 1, wherein: the codewords located within the restricted subset of the multi-dimensional sphere comprise a number of codewords M of blocklength n_(K); and the multi-dimensional sphere is characterized by a radius equal to √{square root over (n_(K)P)}.
 7. The communication system of claim 1, wherein: the codewords located within the restricted subset of the multi-dimensional sphere comprise a number of codewords A of blocklength n_(K) that are each concatenated from sub-codewords of blocklengths n₁, n₂−n₁, . . . , n_(K)−n_(K−1); and each of the sub-codewords of blocklengths n₁, n₂−n₁, . . . , n_(K)−n_(K−1) is characterized in that sub-codewords of blocklengths n_(i)−n_(i−1) lie on a restricted subset of a multi-dimensional sphere of radius √{square root over ((n_(i)−n_(i−1))P)}.
 8. The communication system of claim 7, wherein the codewords located within the restricted subset of the multi-dimensional sphere are further characterized in that, when k transmitters from the plurality of transmitters are active, codewords of blocklength n_(k) formed from concatenating the sub-codewords of blocklengths n₁, n₂−n₁, . . . , n_(k)−n_(k−1) are located within a restricted subset of a multi-dimensional sphere √{square root over (n_(k)P)}.
 9. The communication system of claim 1, wherein multiple transmitters in the plurality of transmitters are configured to select the same rateless code to use in the encoding of message data as symbols.
 10. The communication system of claim 1, wherein at least two of the plurality of transmitters are configured to select different rateless codes to use in the encoding of message data as symbols.
 11. The communication system of claim 10, wherein the receiver is further configured to apply decoding rules at separate predetermined times with respect to each of the different codebooks.
 12. The communication system of claim 1, wherein the broadcast transmitter is configured to send a negative feedback message when the decoding rule is not satisfied at a predetermined decode time.
 13. The communication system of claim 1, wherein the encoder is configured to continue to encode message data as symbols using the rateless code in response to receipt of a negative feedback message.
 14. The communication system of claim 1, wherein the receiver is further configured to measure characteristics of the channel and select the predetermined set of decoding times based upon the measured channel characteristics.
 15. A transmitter system, comprising: a receiver configured to receive a start of epoch message; an encoder configured to: encode message data as symbols using a rateless code comprising a set of codewords characterized in that they are located within a restricted subset of a multi-dimensional sphere; and a modulator configured to transmit symbols encoded by the encoder; wherein the receiver is further configured to receive an end of epoch message at one of a predetermined set of times; and wherein the modulator is configured to transmit symbols encoded by the encoder until an end of epoch message is received by the receiver.
 16. The transmitter system of claim 15, wherein the encoder is configured to continue to encode message data as symbols using the rateless code in response to receipt of a negative feedback message.
 17. The communication system of claim 15, wherein the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere and an internal portion of the multi-dimensional sphere proximate the subset of the surface of the multi-dimensional sphere.
 18. The communication system of claim 15, wherein the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere.
 19. A receiver system, comprising: a decoder configured to select at least one codebook; a transmitter configured to transmit at least one start of epoch message; a receiver configured to receive observed symbols; wherein the decoder is further configured to: determine whether a decoding rule is satisfied at each of a predetermined set of decode times; and when the decoding rule is satisfied: decode at least one message based upon the received observed symbols based upon a rateless code comprising a set of codewords characterized in that they are located within a restricted subset of a multi-dimensional sphere; and cause the transmitter to transmit an end of epoch message.
 20. The receiver system of claim 19, wherein the determination of whether a decoding rule is satisfied is based upon the received observed symbols.
 21. The communication system of claim 19, wherein the decoding rule combines a threshold rule based on the total received power and a maximum likelihood decoding rule.
 22. The receiver system of claim 19, wherein the broadcast transmitter is configured to send a negative feedback message when the decoding rule is not satisfied at a predetermined decode time.
 23. The communication system of claim 19, wherein the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere and an internal portion of the multi-dimensional sphere proximate the subset of the surface of the multi-dimensional sphere.
 24. The communication system of claim 19, wherein the restricted subset of the multi-dimensional sphere comprises a subset of a surface of the multi-dimensional sphere. 